<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>train_dl_model_anomaly_dataset [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_deeplearning.html">Deep Learning</a> / <a href="toc_deeplearning_anomalydetection.html">Anomaly Detection and Global Context Anomaly Detection</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none;">T_train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none;">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none;">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none;">train_dl_model_anomaly_dataset</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none;">T_train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none;">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none;">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none;">train_dl_model_anomaly_dataset</span></code> — Train a deep learning model for anomaly detection.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>train_dl_model_anomaly_dataset</b>( :  : <a href="#DLModelHandle"><i>DLModelHandle</i></a>, <a href="#DLSamples"><i>DLSamples</i></a>, <a href="#DLTrainParam"><i>DLTrainParam</i></a> : <a href="#DLTrainResult"><i>DLTrainResult</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_train_dl_model_anomaly_dataset</b>(const Htuple <a href="#DLModelHandle"><i>DLModelHandle</i></a>, const Htuple <a href="#DLSamples"><i>DLSamples</i></a>, const Htuple <a href="#DLTrainParam"><i>DLTrainParam</i></a>, Htuple* <a href="#DLTrainResult"><i>DLTrainResult</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>TrainDlModelAnomalyDataset</b>(const HTuple&amp; <a href="#DLModelHandle"><i>DLModelHandle</i></a>, const HTuple&amp; <a href="#DLSamples"><i>DLSamples</i></a>, const HTuple&amp; <a href="#DLTrainParam"><i>DLTrainParam</i></a>, HTuple* <a href="#DLTrainResult"><i>DLTrainResult</i></a>)</code></p>
<p>
<code><a href="HDict.html">HDict</a> <a href="HDlModel.html">HDlModel</a>::<b>TrainDlModelAnomalyDataset</b>(const HDictArray&amp; <a href="#DLSamples"><i>DLSamples</i></a>, const HDict&amp; <a href="#DLTrainParam"><i>DLTrainParam</i></a>) const</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>TrainDlModelAnomalyDataset</b>(<a href="HTuple.html">HTuple</a> <a href="#DLModelHandle"><i>DLModelHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#DLSamples"><i>DLSamples</i></a>, <a href="HTuple.html">HTuple</a> <a href="#DLTrainParam"><i>DLTrainParam</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#DLTrainResult"><i>DLTrainResult</i></a>)</code></p>
<p>
<code><a href="HDict.html">HDict</a> <a href="HDlModel.html">HDlModel</a>.<b>TrainDlModelAnomalyDataset</b>(<a href="HDict.html">HDict[]</a> <a href="#DLSamples"><i>DLSamples</i></a>, <a href="HDict.html">HDict</a> <a href="#DLTrainParam"><i>DLTrainParam</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>train_dl_model_anomaly_dataset</b>(<a href="#DLModelHandle"><i>dlmodel_handle</i></a>: HHandle, <a href="#DLSamples"><i>dlsamples</i></a>: Sequence[HHandle], <a href="#DLTrainParam"><i>dltrain_param</i></a>: HHandle) -&gt; HHandle</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none">train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="com" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none">train_dl_model_anomaly_dataset</span></code> performs the training
of a deep learning model with <i><span data-if="hdevelop" style="display:inline">'type'</span><span data-if="c" style="display:none">"type"</span><span data-if="cpp" style="display:none">"type"</span><span data-if="com" style="display:none">"type"</span><span data-if="dotnet" style="display:none">"type"</span><span data-if="python" style="display:none">"type"</span></i>=<i><span data-if="hdevelop" style="display:inline">'anomaly_detection'</span><span data-if="c" style="display:none">"anomaly_detection"</span><span data-if="cpp" style="display:none">"anomaly_detection"</span><span data-if="com" style="display:none">"anomaly_detection"</span><span data-if="dotnet" style="display:none">"anomaly_detection"</span><span data-if="python" style="display:none">"anomaly_detection"</span></i>
contained in <a href="#DLModelHandle"><i><code><span data-if="hdevelop" style="display:inline">DLModelHandle</span><span data-if="c" style="display:none">DLModelHandle</span><span data-if="cpp" style="display:none">DLModelHandle</span><span data-if="com" style="display:none">DLModelHandle</span><span data-if="dotnet" style="display:none">DLModelHandle</span><span data-if="python" style="display:none">dlmodel_handle</span></code></i></a> (for deep learning models
with <i><span data-if="hdevelop" style="display:inline">'type'</span><span data-if="c" style="display:none">"type"</span><span data-if="cpp" style="display:none">"type"</span><span data-if="com" style="display:none">"type"</span><span data-if="dotnet" style="display:none">"type"</span><span data-if="python" style="display:none">"type"</span></i>=<i><span data-if="hdevelop" style="display:inline">'gc_anomaly_detection'</span><span data-if="c" style="display:none">"gc_anomaly_detection"</span><span data-if="cpp" style="display:none">"gc_anomaly_detection"</span><span data-if="com" style="display:none">"gc_anomaly_detection"</span><span data-if="dotnet" style="display:none">"gc_anomaly_detection"</span><span data-if="python" style="display:none">"gc_anomaly_detection"</span></i> see
<a href="train_dl_model_batch.html"><code><span data-if="hdevelop" style="display:inline">train_dl_model_batch</span><span data-if="c" style="display:none">train_dl_model_batch</span><span data-if="cpp" style="display:none">TrainDlModelBatch</span><span data-if="com" style="display:none">TrainDlModelBatch</span><span data-if="dotnet" style="display:none">TrainDlModelBatch</span><span data-if="python" style="display:none">train_dl_model_batch</span></code></a>).
</p>
<p>This operator processes the full training dataset at once.
This is in contrast to 该算子 <a href="train_dl_model_batch.html"><code><span data-if="hdevelop" style="display:inline">train_dl_model_batch</span><span data-if="c" style="display:none">train_dl_model_batch</span><span data-if="cpp" style="display:none">TrainDlModelBatch</span><span data-if="com" style="display:none">TrainDlModelBatch</span><span data-if="dotnet" style="display:none">TrainDlModelBatch</span><span data-if="python" style="display:none">train_dl_model_batch</span></code></a>.
The iterations over the dataset are performed internally by 该算子.
Consequently, you only need to call this operator once with the full training
dataset to train your anomaly detection model.
</p>
<p>The training dataset is handed over in the tuple of dictionaries
<a href="#DLSamples"><i><code><span data-if="hdevelop" style="display:inline">DLSamples</span><span data-if="c" style="display:none">DLSamples</span><span data-if="cpp" style="display:none">DLSamples</span><span data-if="com" style="display:none">DLSamples</span><span data-if="dotnet" style="display:none">DLSamples</span><span data-if="python" style="display:none">dlsamples</span></code></i></a>.
See the chapter <a href="toc_deeplearning_model.html">Deep Learning / Model</a> for further information to the
used dictionaries and their keys.
该算子 expects within the training dataset only images without anomaly
to train the anomaly detection model.
</p>
<p>The dictionary <a href="#DLTrainParam"><i><code><span data-if="hdevelop" style="display:inline">DLTrainParam</span><span data-if="c" style="display:none">DLTrainParam</span><span data-if="cpp" style="display:none">DLTrainParam</span><span data-if="com" style="display:none">DLTrainParam</span><span data-if="dotnet" style="display:none">DLTrainParam</span><span data-if="python" style="display:none">dltrain_param</span></code></i></a> can be used to change the
hyperparameters.
The following values are supported:
</p>
<ul>
<li>
<p> <code>max_num_epochs</code>:
This parameter specifies the maximum number of epochs performed
during training.
In case the criterion specified by <code>error_threshold</code> is reached in
an earlier epoch, the training will terminate regardless.
</p>
<p><i>Restriction:</i> <code>max_num_epochs</code> &gt;=<i>1</i>.
</p>
<p><i>Default:</i> <code>max_num_epochs</code> = <i>30</i>.
</p>
</li>
<li>
<p> <code>error_threshold</code>:
This parameter is a termination criterion for the training.
If the training error is less than the specified
<code>error_threshold</code>, the training terminates successfully.
</p>
<p><i>Restriction:</i>
<i>0.0</i> &lt;= <code>error_threshold</code> &lt;= <i>1.0</i>.
</p>
<p><i>Default:</i> <code>error_threshold</code> = <i>0.001</i>.
</p>
</li>
<li>
<p> <code>domain_ratio</code>:
This parameter determines the percentage of information of each image used
for training.
Since images tend to contain an abundance of information,
it is advisable to reduce its amount.
Additionally, reducing <code>domain_ratio</code> can decrease the time needed
for training.
Please note, however, sufficient information needs to remain and
therefore this value should not be set too small either.
Otherwise the training result might not be satisfactory or the training
itself might even fail.
</p>
<p><i>Restriction:</i> <i>0.0</i> &lt; <code>domain_ratio</code> &lt;= <i>1.0</i>.
</p>
<p><i>Default:</i> <code>domain_ratio</code> = <i>0.1</i>.
</p>
</li>
<li>
<p> <code>regularization_noise</code>:
This parameter can be set to regularize the training in order to
improve robustness.
</p>
<p><i>Restriction:</i> <code>regularization_noise</code> &gt;=<i>0.0</i>.
</p>
<p><i>Default:</i> <code>regularization_noise</code> = <i>0.0</i>.
</p>
</li>
</ul>
<p>The output dictionary <a href="#DLTrainResult"><i><code><span data-if="hdevelop" style="display:inline">DLTrainResult</span><span data-if="c" style="display:none">DLTrainResult</span><span data-if="cpp" style="display:none">DLTrainResult</span><span data-if="com" style="display:none">DLTrainResult</span><span data-if="dotnet" style="display:none">DLTrainResult</span><span data-if="python" style="display:none">dltrain_result</span></code></i></a> contains the following values:
</p>
<ul>
<li>
<p> <code>final_error</code>:
The best error received during training.
</p>
</li>
<li>
<p> <code>final_epoch</code>
The epoch in which the error <code>final_error</code> was achieved.
</p>
</li>
</ul>
<h2 id="sec_attention">注意</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none">train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="com" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none">train_dl_model_anomaly_dataset</span></code> internally calls functions
that might not be deterministic.
Therefore, results from multiple calls of
<code><span data-if="hdevelop" style="display:inline">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none">train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="com" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none">train_dl_model_anomaly_dataset</span></code> can slightly differ, although the same
input values have been used.
</p>
<p>System requirements:
To run this operator on GPU by setting <i><span data-if="hdevelop" style="display:inline">'runtime'</span><span data-if="c" style="display:none">"runtime"</span><span data-if="cpp" style="display:none">"runtime"</span><span data-if="com" style="display:none">"runtime"</span><span data-if="dotnet" style="display:none">"runtime"</span><span data-if="python" style="display:none">"runtime"</span></i> to <i><span data-if="hdevelop" style="display:inline">'gpu'</span><span data-if="c" style="display:none">"gpu"</span><span data-if="cpp" style="display:none">"gpu"</span><span data-if="com" style="display:none">"gpu"</span><span data-if="dotnet" style="display:none">"gpu"</span><span data-if="python" style="display:none">"gpu"</span></i>
(see <a href="get_dl_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_dl_model_param</span><span data-if="c" style="display:none">get_dl_model_param</span><span data-if="cpp" style="display:none">GetDlModelParam</span><span data-if="com" style="display:none">GetDlModelParam</span><span data-if="dotnet" style="display:none">GetDlModelParam</span><span data-if="python" style="display:none">get_dl_model_param</span></code></a>), cuDNN and cuBLAS are required.
For further details, please refer to the <code>“Installation Guide”</code>,
paragraph “Requirements for Deep Learning and Deep-Learning-Based Methods”.
Alternatively, this operator
can also be run on CPU by setting <i><span data-if="hdevelop" style="display:inline">'runtime'</span><span data-if="c" style="display:none">"runtime"</span><span data-if="cpp" style="display:none">"runtime"</span><span data-if="com" style="display:none">"runtime"</span><span data-if="dotnet" style="display:none">"runtime"</span><span data-if="python" style="display:none">"runtime"</span></i> to <i><span data-if="hdevelop" style="display:inline">'cpu'</span><span data-if="c" style="display:none">"cpu"</span><span data-if="cpp" style="display:none">"cpu"</span><span data-if="com" style="display:none">"cpu"</span><span data-if="dotnet" style="display:none">"cpu"</span><span data-if="python" style="display:none">"cpu"</span></i>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="DLModelHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DLModelHandle</span><span data-if="c" style="display:none">DLModelHandle</span><span data-if="cpp" style="display:none">DLModelHandle</span><span data-if="com" style="display:none">DLModelHandle</span><span data-if="dotnet" style="display:none">DLModelHandle</span><span data-if="python" style="display:none">dlmodel_handle</span></code></b> (input_control)  </span><span>dl_model <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDlModel.html">HDlModel</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Deep learning model handle.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DLSamples" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DLSamples</span><span data-if="c" style="display:none">DLSamples</span><span data-if="cpp" style="display:none">DLSamples</span><span data-if="com" style="display:none">DLSamples</span><span data-if="dotnet" style="display:none">DLSamples</span><span data-if="python" style="display:none">dlsamples</span></code></b> (input_control)  </span><span>dict-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDict.html">HDict</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[HHandle]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Tuple of Dictionaries with input images and
corresponding information.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DLTrainParam" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DLTrainParam</span><span data-if="c" style="display:none">DLTrainParam</span><span data-if="cpp" style="display:none">DLTrainParam</span><span data-if="com" style="display:none">DLTrainParam</span><span data-if="dotnet" style="display:none">DLTrainParam</span><span data-if="python" style="display:none">dltrain_param</span></code></b> (input_control)  </span><span>dict <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDict.html">HDict</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Parameter for training the anomaly detection model.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DLTrainResult" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DLTrainResult</span><span data-if="c" style="display:none">DLTrainResult</span><span data-if="cpp" style="display:none">DLTrainResult</span><span data-if="com" style="display:none">DLTrainResult</span><span data-if="dotnet" style="display:none">DLTrainResult</span><span data-if="python" style="display:none">dltrain_result</span></code></b> (output_control)  </span><span>dict <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDict.html">HDict</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Dictionary with the train result data.</p>
</div>
<h2 id="sec_result">结果</h2>
<p>如果参数均有效，算子
<code><span data-if="hdevelop" style="display:inline">train_dl_model_anomaly_dataset</span><span data-if="c" style="display:none">train_dl_model_anomaly_dataset</span><span data-if="cpp" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="com" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="dotnet" style="display:none">TrainDlModelAnomalyDataset</span><span data-if="python" style="display:none">train_dl_model_anomaly_dataset</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    . If necessary,
an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="read_dl_model.html"><span data-if="hdevelop" style="display:inline">read_dl_model</span><span data-if="c" style="display:none">read_dl_model</span><span data-if="cpp" style="display:none">ReadDlModel</span><span data-if="com" style="display:none">ReadDlModel</span><span data-if="dotnet" style="display:none">ReadDlModel</span><span data-if="python" style="display:none">read_dl_model</span></a></code>, 
<code><a href="set_dl_model_param.html"><span data-if="hdevelop" style="display:inline">set_dl_model_param</span><span data-if="c" style="display:none">set_dl_model_param</span><span data-if="cpp" style="display:none">SetDlModelParam</span><span data-if="com" style="display:none">SetDlModelParam</span><span data-if="dotnet" style="display:none">SetDlModelParam</span><span data-if="python" style="display:none">set_dl_model_param</span></a></code>, 
<code><a href="get_dl_model_param.html"><span data-if="hdevelop" style="display:inline">get_dl_model_param</span><span data-if="c" style="display:none">get_dl_model_param</span><span data-if="cpp" style="display:none">GetDlModelParam</span><span data-if="com" style="display:none">GetDlModelParam</span><span data-if="dotnet" style="display:none">GetDlModelParam</span><span data-if="python" style="display:none">get_dl_model_param</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="apply_dl_model.html"><span data-if="hdevelop" style="display:inline">apply_dl_model</span><span data-if="c" style="display:none">apply_dl_model</span><span data-if="cpp" style="display:none">ApplyDlModel</span><span data-if="com" style="display:none">ApplyDlModel</span><span data-if="dotnet" style="display:none">ApplyDlModel</span><span data-if="python" style="display:none">apply_dl_model</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="apply_dl_model.html"><span data-if="hdevelop" style="display:inline">apply_dl_model</span><span data-if="c" style="display:none">apply_dl_model</span><span data-if="cpp" style="display:none">ApplyDlModel</span><span data-if="com" style="display:none">ApplyDlModel</span><span data-if="dotnet" style="display:none">ApplyDlModel</span><span data-if="python" style="display:none">apply_dl_model</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation. This operator uses dynamic licensing (see the ``Installation Guide''). Which of the following modules is required depends on the specific usage of 该算子:<br>Deep Learning Training</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
